﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main() {
//	int i = 0;
//	for (i = 1; i <= 9; i++) {
//		int j = 0;
//		for (j = 1; j <= i; j++) {
//			printf("%d*%d=%-4d", i, j, i * j);
//		}
//		printf("\n");
//	}
//	return 0;
//}

//#include <stdio.h>
//int main() {
//	int arr[10];
//	int max = 0;
//	int i = 0;
//	printf("请输入10个整数:");
//	for (i = 0; i <10; i++) {
//		scanf("%d", &arr[i]);
//	}
//	max = arr[0];
//	for (i = 0; i < 10; i++) {
//		if (arr[i] > max) {
//			max = arr[i];
//		}
//	}
//	printf("%d", max);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//    int i, flag = 1;
//    double sum = 0.0;
//    for (i = 1; i <= 100; i++)
//    {
//        sum = sum + flag * (1.0 / i);
//        flag = -flag;
//    }
//    printf("%lf\n", sum);
//    system("pause");
//    return 0;
//}

//#include <stdio.h>
//int main() {
//	int i = 0;
//	int count = 0;
//	for (i = 1; i < 100; i++) {
//		if (i % 10 == 9||i / 10 == 9) {
//			count++;
//			printf("%d\n", i);
//		}
//	}
//	printf("1~100出现数字9的次数：%d次\n",count);
//}

//#include <stdio.h>
//int main() {
//	int i = 0;
//	for (i = 100; i <= 200;i++) {
//		int flag = 1;
//		int j = 0;
//		for (j = 2; j < i - 1; j++) {
//			if (i % j == 0) {
//				flag = 0;
//				break;
//			}
//		}
//		if (flag == 1)
//			printf("%d\n", i);
//	}
//	return 0;
//}

//#include <stdio.h>
//int main() {
//	int year = 0;
//	for (year = 1000; year <=2000; year++) {
//		if ((year % 4 == 0) && (year % 100 != 0) || year % 400 == 0) {
//			printf("%d\n",year);
//		}
//	}
//	return 0;
//}

//#include <stdio.h>
//int main() {
//	int i = 0; 
//	int j = 0;
//	int ret = 0;
//	scanf("%d %d", &i, &j);
//	while (ret = i % j) {
//		i = j;
//		j=ret;
//	}
//	printf("%d\n", j);
//	return 0;
//}



//int arr[6] = { 1,2,3,4,5,6 }; //arr数组的类型是int[6]
//char ch[3] = {"abc"}; //ch数组的类型是char[3]
//double dl[3] = {0.0,0.1,0.2};//dl数组的类型是double [3] 



//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	printf("%d\n", arr[6]);//7
//	printf("%d\n", arr[8]);//9
//	return 0;
//
//}


//#include <stdio.h>
//int main() {
//	int arr[10] = { 1,20,3,40,5,60,7,80,9,100 };
//	int i = 0;
//	for (i = 0; i < 10; i++) {
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}


//#include <stdio.h>
//int main() {
//	int arr[10] = { 0 };
//	int i = 0;
//	for (i = 0; i < 10; i++) {
//		scanf("%d", &arr[i]);
//	}
//	for (i = 0; i < 10; i++) {
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}

//#include <stdio.h>
//int main() {
//	int arr[10] = { 0 };
//	printf("%d\n", sizeof(arr[0]));//就算一个元素的大小，单位字节
//	return 0;
//}

//#include <stdio.h>
//int main() {
//	int arr[10] = { 0 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	printf("%d\n",sz);
//	return 0;
//}

//type arr_name[常量值1][常量值2];
//例如：
//int arr[3][5]; 
//double data[2][8];
////int： 表示数组每一个元素都是整型类型
////arr： 表示是数组名，可以根据⾃⼰的需要指定名字data数组意思基本⼀致。
////3： 表示数组有三行   
////5： 表示每一行有5个元素

//#include <stdio.h>
//int main() {
//	int arr[3][5] = { 1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7 };
//	printf("%d\n", arr[2][4]);
//	return 0;
//}

//#include <stdio.h>
//int main() {
//	int arr[3][5] = {0};
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < 3; i++) {
//		for (j = 0; j < 5; j++) {
//			scanf("%d", &arr[i][j]);
//		}
//	}
//	for (i = 0; i < 3; i++) {
//		for (j = 0; j < 5; j++) {
//			printf("%d ", arr[i][j]);
//		}
//		printf("\n");
//	}
//	return 0;
//}

//#include <stdio.h>
//int main() {
//	int arr[3][5] = { 0 };
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < 3; i++) {
//		for (j = 0; j < 5; j++) {
//			printf("&arr[%d][%d]=%p\n", i, j, &arr[i][j]);
//		}
//	}
//	return 0;
//}

//#include <stdio.h>
//#include <string.h>
//int main() {
//	char arr[] =  "welcome to C yuyan famliy";
//	char arr1[] = "*************************";
//	int left = 0;
//	int right = strlen(arr1) - 1;
//	printf("%s\n", arr1);
//	while (left <= right) {
//		arr1[left] = arr[left];
//		arr1[right] = arr[right];
//		left++;
//		right--;
//		printf("%s\n", arr1);
//	}
//	return 0;
//}
#include <stdio.h>
int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int left = 0;
	int right = sizeof(arr) / sizeof(arr[0]) - 1;
	int key = 7;//要找的数字
	int mid = 0;//记录中间元素的下标
	int find = 0;
	while (left <= right)
	{
		mid = (left + right) / 2;
		if (arr[mid] > key)
		{
			right = mid - 1;
		}
		else if (arr[mid] < key)
		{
			left = mid + 1;
		}
		else
		{
			find = 1;
			break;
		}
	}
	if (1 == find)
		printf("找到了,下标是%d\n", mid);
	else
		printf("找不到\n");
}